<?php
// +----------------------------------------------------------------------
// | 幕小铺
// +----------------------------------------------------------------------
// | 版权所有 2016~2020 幕小铺科技（大连）有限公司
// +----------------------------------------------------------------------
// | 2020/03/14
// +----------------------------------------------------------------------

namespace app\erp\home;
use app\common\controller\AuthCheck;

/**
 * 门店-仓库管理
 * @package app\cms\admin
 */
class Warehouse extends AuthCheck{
    /**
     * 首页
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, data)
     */
    public function index(){
        //参数接收
        $params 		= $this->getParams(0);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID

        $title    	    = isset($params["title"]) ? $params["title"] : '';//仓库名称
        //数据验证
        $Validate = validate('Warehouse', 'validate');
        if( !$Validate -> scene('warehouse_index') -> check($params) ){
            json_out(-1001, $Validate -> getError(), []);//验证失败
        }

        //逻辑处理
        $list = controller('Warehouselogic', 'logic') -> index($user_id,$title);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], $list['message'], $list['data']);
        }else{
            json_out($list['code'], $list['message'], []);
        }
    }

    /**
     * 添加
     * @param title 	            string  仓库名称
     * @param code 		            string  编码
     * @param address 		        string  仓库地址
     * @param type 		            int     仓库类型：1分仓；2总仓
     * @param sort 		            int     排序
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, (int)id)
     */
    public function add(){
        //参数接收
        $params 		= $this->getParams(1);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $title    		= isset($params["title"]) ? $params["title"] : '';
        $address    	= isset($params["address"]) ? $params["address"] : '';
        $code    		= isset($params["code"]) ? $params["code"] : '';
        $type    	    = intval(isset($params["type"]) ? $params["type"] : 0);
        $sort    	    = intval(isset($params["sort"]) ? $params["sort"] : 0);
        //数据验证
        $Validate = validate('Warehouse', 'validate');
        if( !$Validate -> scene('warehouse_add') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Warehouselogic', 'logic') -> add($user_id, $title, $address, $type, $code, $sort);
        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '新增成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 编辑
     * @param id 	                string  仓库id
     * @param title 	            string  仓库名称
     * @param code 		            string  编码
     * @param address 		        string  仓库地址
     * @param type 		            int     仓库类型：1分仓；2总仓
     * @param sort 		            int     排序
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, (int)id)
     */
    public function edit(){
        //参数接收
        $params 		= $this->getParams(1);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id = $params["id"] = intval(isset($params["sid"]) ? $params["sid"] : 0);
        $title    	    = isset($params["title"]) ? $params["title"] : '';
        $address    	= isset($params["address"]) ? $params["address"] : '';
        $code    	    = isset($params["code"]) ? $params["code"] : '';
        $type    	    = intval(isset($params["type"]) ? $params["type"] : 0);
        $sort    	    = intval(isset($params["sort"]) ? $params["sort"] : 0);

        //数据验证
        $Validate = validate('Warehouse', 'validate');
        if( !$Validate -> scene('warehouse_edit') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Warehouselogic', 'logic') -> edit($user_id, $id, $title, $address, $code, $type, $sort);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '编辑成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 删除
     * @param int $id
     * @author dou<51779987@qq.com>
     * @return bool
     */
    public function delete(){
        //参数接收
        $params 		= $this->getParams(1);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id = $params["id"] = intval(isset($params["sid"]) ? $params["sid"] : 0);

        //数据验证
        $Validate = validate('Warehouse', 'validate');
        if( !$Validate -> scene('warehouse_delete') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Warehouselogic', 'logic') -> delete($user_id, $id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '删除成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

}